Public Class NPeriododeCargos
    Public Function cargarPeriodo(ByVal periodo As Entidades.EPeriododeCargo) As Boolean
        'utiliza la capa de datos
        Dim oDatos As New Datos.DPeriododeCargo
        Try
            If periodo.FechaAlta > periodo.FechaBaja Then Throw New ArgumentException("La fecha de alta es posterior a la fecha de baja.")
            If oDatos.existePeriodo(periodo) Then Throw New ArgumentException("El personal ya tiene asignado este cargo.")
            Return oDatos.cargarPeriodo(periodo)
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            oDatos = Nothing
        End Try
    End Function

    Public Function modificarPeriodo(ByVal periodo As Entidades.EPeriododeCargo) As Boolean
        'utiliza la capa de datos
        Dim oDatos As New Datos.DPeriododeCargo
        Try
            If periodo.FechaAlta > periodo.FechaBaja Then Throw New ArgumentException("La fecha de alta es posterior a la fecha de baja.")
            Return oDatos.modificarPeriodo(periodo)
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            oDatos = Nothing
        End Try
    End Function

    'SOBRECARGADO: busca periodos de cargo por personal
    Public Function buscarPeriodosDeCargo1(ByVal legajo As Integer) As List(Of Entidades.EPeriododeCargo)
        Dim oDatos As New Datos.DPeriododeCargo
        Try
            Return oDatos.buscarPeriodosDeCargo1(legajo)
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            oDatos = Nothing
        End Try
    End Function

    'SOBRECARGADO: busca periodos de cargo por cargo
    Public Function buscarPeriodosDeCargo(ByVal cargo As Entidades.ECargo) As List(Of Entidades.EPeriododeCargo)
        Dim oDatos As New Datos.DPeriododeCargo
        Try
            Return oDatos.buscarPeriodosDeCargo(cargo)
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            oDatos = Nothing
        End Try
    End Function
End Class
